<?php

/**
 * Форма авторизации
 *
 * @package    Forum Lite
 * @subpackage form
 * @author     sensey
 * @version    SVN: $Id: sfDoctrineFormTemplate.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class loginForm extends BaseloginForm
{
	public function configure()
	{
		$this->useFields(array ('login', 'password' ));
		$this->widgetSchema->setLabels(array ('login' => 'Логин:', 'password' => 'Пароль:' ));
	}
	/**
	 * Метод для проверки пользовательской авторизации/создания нового пользователя, если его нет
	 * @param Object $validator
	 * @param string $value
	 */
	public function checkPassword($validator, $value)
	{
		// Get tainted values
		$values = $this->getTaintedValues();
		// Get user object
		$user = Doctrine::getTable('user')->findOneBy("login", $values ["login"]);
		// Check for existed user
		if(! is_object($user))
		{
			// Get comment list
			$user = Doctrine::getTable('user')->newUser($values ["login"], md5($values ["password"]));
		}
		// Check for password 
		else if(md5(trim($values ["password"])) != $user->getPassword())
		  // Display error
			throw new sfValidatorError($validator, "Неправильный логин/пароль");
			
		$this->setObject($user);
	}
}